package org.blogwu.learn.jvmlearn.class1;

import java.util.Random;

interface MyParent5 {
    int a = 1000;


    int gg = new Random().nextInt(82);


    Thread t1 = new Thread() {
        {
            System.out.println("  Thread t1 被初始化了");
        }
    };
}

/**
 * Created by Administrator on 2018/6/21.
 * <p>
 * 当一个接口初始化时,并不要求其父接口完成了初始化
 * 只有在真正使用到父接口的时候(如引用接口中所定义的常量时),才会初始化
 * 但是不初始化不等于不加载
 */
public class MyTest5 {
    public static void main(String[] args) {
        System.out.println(MyChild6.b);
        System.out.println(MyChild6.a);
//          System.out.println(MyGraPar5.t1);
    }

}

class MyChild6 implements MyParent5 {
    /**
     * Java接口中的字段默认都是静态常量，不管在编码的时候有没有显示的指定static或者final。
     */
    public static int b = 6;

    int c = new Random().nextInt(82);

    String d = "hello world";

}


interface MyChild5 extends MyParent5 {
    /**
     * Java接口中的字段默认都是静态常量，不管在编码的时候有没有显示的指定static或者final。
     */
    int b = 6;

    int c = new Random().nextInt(82);

    String d = "hello world";

}


interface MyGra5 {
    Thread t1 = new Thread() {
        {
            System.out.println("  MyGra5 t1 被初始化了");
        }
    };
}


interface MyGraPar5 extends MyGra5 {
    Thread t1 = new Thread() {
        {
            System.out.println("  MyGraPar5 t1 被初始化了");
        }
    };
}
